package com.qingfeng.client.service;

import com.qingfeng.client.bean.Store;
import com.qingfeng.client.bean.StoreGoodsGroup;
import com.qingfeng.client.bean.StorePayType;
import com.qingfeng.client.dao.StoreGoodsGroupMapper;
import com.qingfeng.client.dao.StoreMapper;
import com.qingfeng.client.dao.StorePayTypeMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
 * 店铺service
 * @Author ff
 * @Data 2017/10/25 10:28
 */
@Service
public class StoreService {
    @Resource
    private StoreMapper storeDao;

    @Resource
    private StoreGoodsGroupMapper storeGoodsGroupDao;

    @Resource
    private StorePayTypeMapper storePayTypeDao;

    public Integer create(Store storeBean) {
        Integer id = storeDao.insert(storeBean);
        return id;
    }




    /**
     * 获取该店铺的所有分组
     * @param storeId
     * @return
     */
    public List<Map<String,Object>> queryGroup(long storeId,Long parentId){
        return storeGoodsGroupDao.getGroupByStore(storeId,parentId);
    }


    public boolean addPayType(List<StorePayType> storePayTypeBeans, Long storeId) {
        return storePayTypeDao.addPayType(storePayTypeBeans,storeId);
    }

    public boolean deletePayType(String ids, Long storeId) {
        return storePayTypeDao.deletePayType(ids,storeId);
    }

    public boolean updatePayType(StorePayType storePayTypeBean) {
        int i =storePayTypeDao.updateById(storePayTypeBean);
        return (i>0?true:false);
    }

    public Store myStore(Integer storeId) {
        Store storeBean = storeDao.myStore(storeId);
        List<Map<String,Object>> storePayTypeBeans=storePayTypeDao.queryByStore(storeId);
        storeBean.setPayTypeBeans(storePayTypeBeans);
        return storeBean;
    }

    public List getTypes() {
        return storePayTypeDao.queryAll();
    }

    public Integer addGroup(StoreGoodsGroup storeGoodsGroupBean) {
        return storeGoodsGroupDao.insert(storeGoodsGroupBean);
    }

    public boolean deleteGroup(Long id, Integer storeId) {
        return storeGoodsGroupDao.deleteGroup(id,storeId);
    }

    public boolean setPostage(Integer id, int postage) {
        boolean flag = storeDao.updatePostage(id, postage);
        if(!flag){
            return false;
        }
        return true;
    }
}
